package org.domain.sisteste.session;

import java.util.HashMap;
import java.util.List;

import net.sf.jasperreports.engine.JRException;

import org.apache.commons.collections.map.HashedMap;
import org.domain.sisteste.entity.dto.PendenciaDTO;
import org.domain.sisteste.session.dao.BaseBean;
import org.domain.sisteste.session.dao.PendenciasDAO;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;

@Scope(value = ScopeType.CONVERSATION)
@Name(value = "relatorioPendenciasAction")
public class RelatorioPendenciasAction extends BaseBean {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8986958864202400409L;

	private Integer quantidadePorPagina = 5;

	private List<PendenciaDTO> colecaoPendencias;

	@In
	private PendenciasDAO pendenciasDAO;
	
	@In
	private SupportReport supportReport;

	@Factory(value = "colecaoPendencias", scope = ScopeType.EVENT)
	public List<PendenciaDTO> novaColecaoPendencias() {
		colecaoPendencias = pendenciasDAO.obterRelatorioPendencias();
		return colecaoPendencias;
	}
	
	public void imprimirRelatorio () {
		try {
			supportReport.gerarRelatorio("relatorio_pendencias", new HashMap<String, Object>(), colecaoPendencias);
		} catch (JRException e) {
			e.printStackTrace();
		}
	}

	/**
	 * @return the quantidadePorPagina
	 */
	public Integer getQuantidadePorPagina() {
		return quantidadePorPagina;
	}

	/**
	 * @param quantidadePorPagina
	 *            the quantidadePorPagina to set
	 */
	public void setQuantidadePorPagina(Integer quantidadePorPagina) {
		this.quantidadePorPagina = quantidadePorPagina;
	}
}
